Many applications of computer systems require access to a stream of random numbers. Typical applications include cryptography, gaming, and statistical sampling and analysis. Random number generators (RNG) have been based on various physical effects such as the thermal noise of electronic components, radioactive decay, and shot noise. Other RNGs are based on software approaches and can use timing of a computer user's movements as a basis for random number generation. Well-designed RNGs are generally able to provide long sequences of random numbers, but eventually the numbers produced are not completely statistically unrelated, and are more properly considered to be “pseudo-random.” Conventional electrical circuit based RNGs that take advantage of thermal or shot noise can require excessive wafer area when implemented in an integrated circuit. In view of the above and the long standing need for random numbers, alternative approaches to random number generation are needed.